/*
 * networkmedium.h
 *
 *  Created on: Aug 28, 2011
 *      Author: anonovermind <anonovermind@gmail.com>
 */

#ifndef NETWORKMEDIUM_H_
#define NETWORKMEDIUM_H_

#include <string>
#include "request.h"
#include "url.h"
#include "networkcontext.h"

namespace Wishmaster2
{
namespace Network
{
	class NetworkMedium
	{
	public:
		virtual ~NetworkMedium() {}

		virtual const std::string protocol() const = 0;
		virtual RequestPtr createRequest(int id, const Url& url) = 0;

		virtual NetworkContextPtr context() const = 0;
	};
}
}


#endif /* NETWORKMEDIUM_H_ */
